The need for economical high speed transmissions of data over communication links continues to increase. Transmission efficiency falls and costs rise drastically when data is required to be retransmitted. The possibility of having to retransmit data increases in noisy environments, such as transmissions over telephone lines using modems. Under the popular Synchronous Data Link Control (SDLC) protocol, when a data frame in a sequence of frames is lost, the protocol recovery rules force the re-transmission not only of the frame which was damaged, but all subsequent frames as well.
A better solution in the form of the High-Level Data Link Control (HDLC) protocol stipulated by the IOC (International Organization for Standardization) has been used to ease the problem. In the HDLC protocol, the REJ (Reject) scheme and the SREJ (Selective Reject) scheme are stipulated as re-transmission schemes to be used in the case where transmitted frames are in error and have not properly reached the receiver.
The REJ scheme is representative of the so-called "Go-Back-N Automatic Repeat Request scheme." The REJ scheme works in the following manner. When a receiver detects the omission of a frame because of the reception of an out of sequence frame, it sends back a signal REJn (where n represents the number of the erroneous frame) indicating a re-transmission request. The sending side retransmits the erroneous frame and also sends a series of sent frames succeeding thereto. The REJ scheme has the advantage that a small number of buffers suffice on both the sending and receiving sides.
According to the SREJ scheme, only erroneous frames are retransmitted. Therefore, no frame is transferred wastefully. However, two or more signals SREJ cannot be simultaneously sent back according to provisions of the HDLC protocol. Therefore, the SREJ capability experiences appreciable degradation in especially noisy conditions where multiple errors occur in a single burst of frames. Under such conditions, the SREJ capability reverts to the SDLC re-transmission rule, namely, the erroneous frame as well as all subsequent frames. Large numbers of buffers are also required on both the sending and receiving sides. These buffers serve to hold the error-free frames until the error frame is received and is properly sequenced.
HDLC frames must be released from the receiving link station in the exact order in which they are delivered to the transmitting link station. In noisy environments where re-transmissions are taking place, this means that frames which have been correctly received cannot be released to their destinations until other unrelated packets have been retransmitted without error. The problem revolves around a fundamental provision of the protocol, namely, that HDLC assumes responsibility for re-sequencing the frames, to maintain data synchronization. The provision applies regardless of whether the receiver has an intelligent application layer capable of re-sequencing the frames.
Consequently, what is needed is a method of simultaneously identifying and selectively retransmitting a plurality of erroneous data frames received in a single burst of data frames, while releasing error-free data frames immediately to their destinations.